Portable electronic devices such as wireless personal digital assistants (PDAs), smart telephones and laptop computers with wireless capabilities have gained widespread use for a variety of functions. Such devices are commonly used for communication purposes including transportation of data, and run on a wide variety of networks from data-only networks such as Mobitex and DataTAC to complex voice and data networks such as GSM/GPRS, CDMA, EDGE, UMTS AND W-CDMA networks.
These portable electronic devices commonly include databases for storing data that is selectably retrievable by a user of a device. The data forms a series of data records, each data record containing one or more fields. During operation of the device, the data is retrieved and displayed, or otherwise made available to the user. The data can be modified, added to or deleted by the user of the device.
Advances in data storage have accompanied advances in portable electronic devices, to provide for back-up of data stored at the electronic device. By backing-up the device, data can be recovered in the event of data loss at the electronic device. Various electronic devices are backed-up by way of communication over a fixed (wire) connection between the electronic device and, for example, a computing station such as a desktop computer. Once the data is stored in a database at the computing station, the stored data can be modified, added to or deleted by a user at the computing station.
Other portable electronic devices provide for back-up of data stored thereon, to a computing station by way of a radio interface, using, for example, the networks listed above. Thus, data is sent over a radio communication channel of a radio communication system, thereby forming a communications link between the portable electronic device and a remote station (a station not linked by wire communication). Again, once the data is stored in a database at a computing station, the stored data can be modified, added to or deleted at the computing station. Thus, while data stored in the database of the portable electronic device is backed-up to a computing station, data is also transmitted from the computing station to the portable electronic device to synchronize the databases of the portable electronic device with the databases of the computing station. When a data record on a computing station does not exist on the portable electronic device, or when the content of the data record (the fields of the data record) of the computing station differs from the content of the data record of the portable electronic device, then the additional data record or differing data record is transferred to the portable electronic device. Similarly, when a data record on a portable electronic device does not exist on the computing station, or when the content of the data record of the portable electronic device differs from the content of the data record of the computing station, the additional data record or differing data record is transferred to the computing station. When a data record is deleted from the portable electronic device, a delete data record indication is sent from the portable electronic device to the computing station in order to delete the corresponding data record at the computing station.
Data synchronization over a radio communication channel is clearly advantageous as data can be communicated remotely over large distances. Conventional manners of data synchronization over radio communication channels suffer disadvantages, however. Such data synchronization can be prohibitively bandwidth consumptive. If many records are transferred, the transfer time can be extensive meaning that a communication channel is opened for a long period of time to transfer the data records, which can be costly. Furthermore, if many records are transferred, the portable electronic device may not have sufficient available memory for storage of all the data received.
Improvements in memory management in an electronic device are therefore desirable.